package com.bd.scm.dao.mapper.login;

import com.alibaba.fastjson.JSONObject;
import com.bd.scm.domain.dto.login.LoginDto;

import java.util.List;

/**
 * @ClassName LoginMapper
 * @Description TODO
 * @Author YH
 * @Date 2019/12/30 0030 10:42
 * @Version 1.0
 **/
public interface LoginMapper {

  //域登录需要方法

  /**
   * 根据邮箱查询绑定人员个数据
   * @param loginDto username 邮箱
   * @return
   */
  int getEmailCount(LoginDto loginDto);

  /**
   * 根据邮箱查询该绑定人员的工号
   * @param loginDto username 邮箱
   * @return
   */
  String getUserNO(LoginDto loginDto);


  //工号登录需要方法

  /**
   * 根据工号 密码查询绑定人员个数据
   * @param loginDto  username 工号  password 密码
   * @return
   */
  int getUserNoCount(LoginDto loginDto);

  /**
   * 根据ID查询人脸权限
   * @param userSerial
   * @return
   */
  int getUserFace(String userSerial);

  /**
   * 根据工号查询人员信息
   * @param empNo
   * @return 人员ID 工号 姓名 部门ID 部门名称
   */
  JSONObject getUser(String empNo);

  /**
   * 根据微信账号查询人员信息
   * @param weChatId
   * @return
   */
  JSONObject getUserByWeChatId(String weChatId);

  /**
   * 根据人员ID查询人员信息
   * @param userId
   * @return
   */
  JSONObject getUserByUserId(String userId);

  /**
   * 根据工号查询是否存在wt_gly表中 如果不存在获取当前部门 反之wt_gly表部门权限
   * @param userNO 工号
   * @return
   */
  int findWtGlyCount(String userNO);

  /**
   * 取当前登录人的部门以及上级部门
   * @param depSerial 当前登录人部门ID
   * @return
   */
  List<String> findDepSerial(String depSerial);

  /**
   * 获取登陆人
   * @param loginDto
   * @return
   */
  JSONObject getUserDate(LoginDto loginDto);
}
